package com.hopu.mall01.module;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.util.List;

/**
 * @Package: com.hopu.mall01.module
 * @ClassName: Customer
 * @Author: xiaoBao
 * @CreateTime: 2020/11/15 13:09
 * @Description: SpringBoot的依赖注入：客户信息数据模型 测试
 */

/**@Component注解：表示将该类的生命周期交给Spring容器来管理*/
@Component
/**@ConfigurationProperties注解：表示将SpringBoot全局配置文件中配置的数据，注入到对应属性名中（松散绑定）；
 * prefix属性：表示配置该类的前缀名
 *  可以在SpringBoot全局配置文件通过该类的前缀名(prefix)，作为第一层级名，在下一层给对应属性注入值。
 */
@ConfigurationProperties(prefix = "customer")
public class Customer implements Serializable {
    /**客户名称*/
    private String customerName;
    /**客户年龄*/
    private Integer customerAge;
    /**商品信息*/
    private List<String> goods;
    /**订单信息*/
    private Oder oder;


    /**生成Get/Set方法*/
    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public Integer getCustomerAge() {
        return customerAge;
    }

    public void setCustomerAge(Integer customerAge) {
        this.customerAge = customerAge;
    }

    public List<String> getGoods() {
        return goods;
    }

    public void setGoods(List<String> goods) {
        this.goods = goods;
    }

    public Oder getOder() {
        return oder;
    }

    public void setOder(Oder oder) {
        this.oder = oder;
    }

    /**生成toString方法*/
    @Override
    public String toString() {
        return "Customer{" +
                "customerName='" + customerName + '\'' +
                ", customerAge=" + customerAge +
                ", goods=" + goods +
                ", oder=" + oder +
                '}';
    }
}
